package com.wn.main.service

import android.content.Context
import com.alibaba.android.arouter.facade.annotation.Route
import com.wn.common.constant.MAIN_SERVICE_HOME
import com.wn.common.service.IMainService
import com.wn.main.MainActivity
import com.wn.main.ui.other.ArticleDetailActivity
import com.wn.main.ui.other.ArticleSystemDetailActivity

/**
 * @Author: wn
 * @Date: 2024/9/2 17:03
 * @Description: main 模块 的 IMainService实例, 通过 ARouter 提供 其自身的方法让其他模块调用
 */
@Route(path = MAIN_SERVICE_HOME)
class MainService : IMainService {
  /**
   * 直接跳转主页
   * @param context Context   --  当前 context
   * @param index Int         -- tab位置 默认第一页
   */
  override fun toMain(context: Context, index: Int) {
    MainActivity.start(context, index)
  }

  /**
   * 跳转文章详情页
   * @param context Context  --  当前 context
   * @param url String
   * @param title String
   */
  override fun toArticleDetail(context: Context, url: String, title: String) {
    ArticleDetailActivity.start(context, url, title)
  }

  /**
   * 跳转 体系 列表 详情页
   * @param context Context  --  当前 context
   * @param jsonData String  -- 体系列表数据
   */
  override fun toSystemDetail(context: Context, jsonData: String) {
    ArticleSystemDetailActivity.start(context, jsonData)
  }

  /**
   * Do your init work in this method, it well be call when processor has been load.
   * @param context ctx
   */
  override fun init(context: Context?) {
  }
}